package dao

// 这是 CmsTopicCategory 的全局公开dao对象，被service层调用!
var CmsTopicCategoryDao = cmsTopicCategoryDao{}

// 这是 cms_topic_category表 的实体类
type CmsTopicCategory struct {
	Icon         string `json:"icon" form:"icon" v:"icon"` // 分类图标
	Id           int64  `json:"id" form:"id" v:"id"`
	Name         string `json:"name" form:"name" v:"name"`
	ShowStatus   int32  `json:"show_status" form:"show_status" v:"show_status"`
	Sort         int32  `json:"sort" form:"sort" v:"sort"`
	SubjectCount int32  `json:"subject_count" form:"subject_count" v:"subject_count"` // 专题数量

}

// 注意:这是 CmsTopicCategory 的私有dao对象，只能在dao层内使用!
type cmsTopicCategoryDao struct {
	InsertTemplate func(arg CmsTopicCategory) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg CmsTopicCategory) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                           `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (CmsTopicCategory, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]CmsTopicCategory, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 cms_topic_category 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type CmsTopicCategoryPostman struct {
icon
id
name
show_status
sort
subject_count

}*/

// 这是 cms_topic_category 表的批量请求参数
type CmsTopicCategoryReq struct {
	List []CmsTopicCategory `json:"list" form:"list"`
}
